package com.imooc.reflect;

import java.lang.reflect.Method;

/**
 * Created by joe on 16-8-1.
 */
public class BeanUtil {
	/**
	 * 根据标准javabean对象的属性名获取属性值
	 * @param obj
	 * @param propertyNamme
	 * @return
	 */
	public static Object getValueByPropertyName(Object obj,String propertyNamme){
		//1.根据属性名就可以获取其get方法(大写第一个字母.然后加上后面的)
		String getMethodName = "get"+propertyNamme.substring(0,1).toUpperCase()+propertyNamme.substring(1);
		//2.获取方法对象
		Class c = obj.getClass();
		try {
			//get方法都是public的并且没有参数
			Method m = c.getMethod(getMethodName);
			//3.通过方法的反射操作方法
			Object value = m.invoke(obj);
			return value;
		} catch (Exception e){
			return null;
		}
	}
}
